/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is Forte for Java, Community Edition. The Initial
* Developer of the Original Code is Sun Microsystems, Inc. Portions
* Copyright 1997-2000 Sun Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.modules.web.wizards.beanjsp.model;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.event.*;
import org.netbeans.modules.web.wizards.beanjsp.util.*;
import org.netbeans.modules.web.util.*;
public class JSPItemListModel extends javax.swing.AbstractListModel {
JSPVector items;
Map keys;
public JSPItemListModel() {
this(new JSPVector());
}
public JSPItemListModel(JSPVector items) {
this.items = items;
}
//// abstarct list model
public int getSize() { return items.size(); }
public Object getElementAt(int index) { return items.get(index); }
//// BEAN METHOD MODEL methos
public Object get(int idx) {
return items.get(idx);
}
public void add(Object item) {
items.add(item);
int idx = items.size()-1;
fireIntervalAdded(this, idx, idx);
}
public Object remove(int idx) {
Object item = (Object) items.remove(idx);
fireIntervalRemoved(this, idx, idx);
return item;
}
public int moveUp(int idx) {
int newIdx = items.moveUp(idx);
this.fireContentsChanged(this, idx, idx);
return newIdx;
}
public int moveDown(int idx) {
int newIdx = items.moveDown(idx);
this.fireContentsChanged(this, idx, idx);
return newIdx;
}
public void removeAll() {
int idx = items.size()-1;
items.removeAllElements();
if(idx >= 0)
fireIntervalRemoved(this, 0, idx);
}
public void addItems(JSPVector newItems) {
if(newItems.size() <= 0)
return;
int idx = items.size()-1;
items.addAll(newItems);
if(idx < 0 )
idx = 0;
fireIntervalAdded(this, idx, idx+newItems.size());
}
public JSPVector getItems() { return items; }
//// helper functions to search and remove items
public boolean removeAll(Object key) {
// Debug.println("Removing items from Item List");
boolean itemsRemoved = items.removeAllByKey(key);
if(itemsRemoved) {
int idx = items.size()-1;
this.fireContentsChanged(this, 0,idx);
}
return itemsRemoved;
}
}